home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / rpg / crossfir.92 / crossfir / crossfire-0.92.5 / crossedit / Cnv / test.c < prev   
C/C++ Source or Header  |  1996-07-24  |  4KB  |  179 lines

  1. #include "Cnv.h"
  2. #include <debug.h>
  3.  
  4. typedef struct App {
  5.     Widget shell;
  6.     XtAppContext con;
  7.     CnvBrowse CnvBrowse;
  8.     CnvFiles files;
  9.     CnvPath path;
  10. } *App;
  11.  
  12. static void QuitCb(Widget w,XtPointer client,XtPointer call)
  13. {
  14.     XtDestroyApplicationContext(XtWidgetToApplicationContext(w));
  15.     exit(0);
  16. }
  17.  
  18. static void CnvBrowseFileCb(Widget w,XtPointer client,XtPointer call)
  19. {
  20.     App self = (App)client;
  21.     debug0("CnvBrowseFileCb()\n");
  22.     CnvBrowseShowFile(self->CnvBrowse,"test.txt");
  23. }
  24.  
  25. static void CnvBrowseStringCb(Widget w,XtPointer client,XtPointer call)
  26. {
  27.     App self = (App)client;
  28.     debug0("CnvBrowseStringCb()\n");
  29.     CnvBrowseShowString(self->CnvBrowse,"Joopa joo");
  30. }
  31.  
  32. static void CnvBrowseEditStringCb(Widget w,XtPointer client,XtPointer call)
  33. {
  34.     App self = (App)client;
  35.     debug0("CnvBrowseEditStringCb()\n");
  36.     CnvBrowseEditString(self->CnvBrowse,"Joopa jee");
  37. }
  38.  
  39. void EditOk(CnvBrowse b,XtPointer client,String str)
  40. {
  41.     debug0("EditOk()\n");
  42.     printf("%s\n",str);
  43. }
  44.  
  45. static void CnvPathCb(Widget w,XtPointer client,XtPointer call)
  46. {
  47.     App self = (App)client;
  48.     char path[PATH_MAX+1];
  49.  
  50.     debug0("CnvPathCb()\n");
  51.     CnvPathSelectAbs(self->path,path);
  52.     debug1("CnvPathCb() %s\n",path);
  53. }
  54.  
  55. static void CnvNotifyCb(Widget w,XtPointer client,XtPointer call)
  56. {
  57.  
  58.     debug0("CnvNotifyCb()\n");
  59.     switch(CnvNotify("Test here","OK","Cancel","Help",NULL)) {
  60.     case 1:
  61.     debug0("OK selected\n");
  62.     break;
  63.     case 2:
  64.     debug0("Cancel selected\n");
  65.     break;
  66.     case 3:
  67.     debug0("Help selected\n");
  68.     break;
  69.     default:
  70.     debug0("Error\n");
  71.     }
  72. }
  73.  
  74. static void CnvPromptCb(Widget w,XtPointer client,XtPointer call)
  75. {
  76.  
  77.     char ans[CnvPromptMax+1];
  78.  
  79.     switch(CnvPrompt("Test here","joo",ans,"OK","Cancel","Help",NULL)) {
  80.     case 1:
  81.     debug0("OK selected\n");
  82.     break;
  83.     case 2:
  84.     debug0("Cancel selected\n");
  85.     break;
  86.     case 3:
  87.     debug0("Help selected\n");
  88.     break;
  89.     default:
  90.     debug0("Error\n");
  91.     }
  92.     debug1("CnvPromptCb() %s prompted\n",ans);
  93. }
  94.  
  95. static CnvMenuRec mainMenu[] = {
  96.     {"notify",CnvNotifyCb},
  97.     {"prompt",CnvPromptCb},
  98.     {"---",   NULL},
  99.     {"quit",  QuitCb},
  100.     {"",      NULL}
  101. };
  102.  
  103. void CnvFilesCb(XtPointer client,String path)
  104. {
  105.     debug1("CnvFilesCb() %s\n",path);
  106. }
  107.  
  108. static void Layout(App self,Display *display)
  109. {
  110.     Widget cont,use;
  111.  
  112.     self->shell = XtVaAppCreateShell
  113.     ("test","Test",applicationShellWidgetClass,
  114.      display,
  115.      NULL);
  116.     CnvInitialize(self->shell);
  117.  
  118.     cont = XtVaCreateManagedWidget
  119.     ("cont",boxWidgetClass,self->shell,
  120.      NULL);
  121.  
  122.     use = XtVaCreateManagedWidget
  123.     ("menu",menuButtonWidgetClass,cont,
  124.      XtNmenuName,"mainMenu",
  125.      NULL);
  126.     CnvMenu("mainMenu",use,mainMenu,(XtPointer)self);
  127.  
  128.     use = XtVaCreateManagedWidget
  129.     ("files",menuButtonWidgetClass,cont,
  130.      XtNmenuName,"filesMenu",
  131.      NULL);
  132.     self->files = CnvFilesCreate("filesMenu",use,CnvFilesCb,(XtPointer)self,".");
  133.  
  134.     use = XtVaCreateManagedWidget
  135.         ("cnvBrowseBile",commandWidgetClass,cont,
  136.          NULL);
  137.     XtAddCallback(use,XtNcallback,CnvBrowseFileCb,(XtPointer)self);
  138.  
  139.     use = XtVaCreateManagedWidget
  140.         ("cnvBrowseString",commandWidgetClass,cont,
  141.          NULL);
  142.     XtAddCallback(use,XtNcallback,CnvBrowseStringCb,(XtPointer)self);
  143.  
  144.     use = XtVaCreateManagedWidget
  145.         ("cnvBrowseEdit",commandWidgetClass,cont,
  146.          NULL);
  147.     XtAddCallback(use,XtNcallback,CnvBrowseEditStringCb,(XtPointer)self);
  148.  
  149.     use = XtVaCreateManagedWidget
  150.         ("cnvPath",commandWidgetClass,cont,
  151.          NULL);
  152.     XtAddCallback(use,XtNcallback,CnvPathCb,(XtPointer)self);
  153.  
  154.     self->CnvBrowse = CnvBrowseCreate("cnvBrowse",cont,EditOk);
  155.     self->path = CnvPathCreate("cnvPath",".",".");
  156. }
  157.  
  158. int main(unsigned int argc,char *argv[])
  159.  
  160. {
  161.     struct App app;
  162.     Display *display;
  163.  
  164.     XtToolkitInitialize();
  165.     app.con = XtCreateApplicationContext();
  166.     display = XtOpenDisplay
  167.     (app.con,
  168.      NULL,"Test",NULL, /* display,name,class */
  169.      NULL,0,           /* options */
  170.      (signed int *) &argc,argv);
  171.     Layout(&app,display);
  172.  
  173.     XtRealizeWidget(app.shell);
  174.     XtAppMainLoop(app.con);
  175.     return 0;
  176. }
  177.  
  178. /*** end of test.c ***/
  179.